package com.iking.toolkit.system.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.iking.toolkit.system.model.http.HttpDictionaryTypeSelectReq;
import com.iking.toolkit.system.model.model.DictionaryType;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * dictionary_type（数据字典类型） Mapper 接口
 *
 * @author user
 * @since 2022-10-09
 */
@Mapper
public interface DictionaryTypeMapper extends BaseMapper<DictionaryType> {

    int insertSelective(DictionaryType record);

    DictionaryType selectByPrimaryKey(String fId);

    int updateByPrimaryKeySelective(DictionaryType record);

    int updateByPrimaryKey(DictionaryType record);

    int deleteByPrimaryKey(String fId);

    /**
     * @Description: 查询全部数据字典类型
     * @Param: [req]
     * @return: java.util.List<com.iking.member.system.model.TDictionaryType>
     * @Author: wk
     * @Date: 7/2/2020 上午9:56
     */
    List<DictionaryType> searchDictionaryType(@Param("req") HttpDictionaryTypeSelectReq req);

    /**
     * @Description: 查询是否存在重复(添加,Pym)
     * @Param: [dictionaryType]
     * @return: java.util.List<com.iking.member.system.model.TDictionaryType>
     * @Author: wk
     * @Date: 7/2/2020 上午9:57
     */
    List<DictionaryType> searchByPymInsert(DictionaryType dictionaryType);

    /**
     * @Description: 查询是否存在重复(添加,name)
     * @Param: [dictionaryType]
     * @return: java.util.List<com.iking.member.system.model.TDictionaryType>
     * @Author: wk
     * @Date: 7/2/2020 上午9:57
     */
    List<DictionaryType> searchByNameInsert(DictionaryType dictionaryType);

    /**
     * @Description: 查询是否存在重复(修改,Pym)
     * @Param: [dictionaryType]
     * @return: java.util.List<com.iking.member.system.model.TDictionaryType>
     * @Author: wk
     * @Date: 7/2/2020 上午9:57
     */
    List<DictionaryType> searchByPymUpdate(DictionaryType dictionaryType);

    /**
     * @Description: 查询是否存在重复(修改,name)
     * @Param: [dictionaryType]
     * @return: java.util.List<com.iking.member.system.model.TDictionaryType>
     * @Author: wk
     * @Date: 7/2/2020 上午9:58
     */
    List<DictionaryType> searchByNameUpdate(DictionaryType dictionaryType);

    /**
     * @Description: 计算出排序号码的最大值
     * @Param: []
     * @return: java.lang.Integer
     * @Author: wk
     * @Date: 7/2/2020 上午9:58
     */
    Integer MaxSort();

    /**
     * @Description: 根据拼音码查找对应记录
     * @Param: [fPym]
     * @return: com.iking.member.system.model.TDictionaryType
     * @Author: wk
     * @Date: 7/2/2020 上午9:59
     */
    DictionaryType selectByPym(String fPym);

}
